1. Field of the Invention
This invention relates to rate adaptation in a wireless communication setting.
2. Related Art
In wireless networks such as IEEE 802.11 WLANs (wireless local area networks) or IEEE 802.11-based mesh networks, one or more access points communicate with one or more client devices such as wireless enabled computers and personal data assistants. Rate adaptation is used in such wireless networks in order to try to adapt a wireless connection to changes in network conditions. These changes can include, but are not limited to, one or more of changes in noise, signal strength, position, the number of client devices that contend for the shared channel, and available access points. These changes can be caused by one or more of random channel errors, user mobility, and collisions, to be elaborated below, as well as possibly by other factors.
Sometimes a device communicating with an access point will experience random fluctuations in its signal-to-noise ratio due to effects of fading and contention. This will lead to changes in wireless transmission quality, and may result in random data losses at a given transmission rate. This issue is referred to as a “random channel error” problem.
Sometimes a device communicating with an access point will move toward the access point or away from the access point. This will lead to increase or decrease in the physical signal. The transmission rate should adapt to such changes in channel quality caused by mobility.
Sometimes a device communicating with an access point will experience “collisions” for its transmission. Such collisions can be caused by “hidden terminals” or contentions. The “hidden terminal” problem occurs when two terminals, which are out of range of one another, wish to send data simultaneously over the same wireless channel, but the signals collide with one another at their respective receivers. A hidden terminal can be either an access point or a client device. Contentions occur when several devices communicating with the same access point send data simultaneously, and lead to data losses at the receiving access point.
Several existing rate adaptation techniques exist to try to alleviate or otherwise handle these problems. The existing techniques are generally based on five guidelines. These guidelines are (1) decrease transmission rate upon sever packet loss, (2) use probe packets to assess new and hopefully more effective rates, (3) use consecutive transmission successes/looses to decide rate increases/decreases, (4) use PHY (i.e., physical layer) metrics to infer new transmission rates, and (5) attempt to smooth long-term operation to produce a best average performance.
Each of the foregoing guidelines makes intuitive sense and appears to work well in simple pre-defined environments. However, these guidelines often result in less than acceptable results in dynamic real-world contexts, especially in the case of random channel errors, hidden terminals, contentions, and moving client devices.